package com.cmxh.shipper.controller;

import com.cmxh.shipper.mapper.AccountAuthenticationMapper;
import io.jsonwebtoken.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/")
public class HelloController {
    @RequestMapping("/")
    public String index() {
        return "Hello World";
    }
    public static void main(String[] args) {
        String jwt = "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NDU4NDQ1MDcsImlhdCI6MTc0NTc1ODEwNywibmFtZSI6IuW8oOS4iSIsImlkIjoiMSJ9.LgQjaKqoAzIRKJs24BUz6Emm38ibXi6z_PTFkO4Snyc";
        // 设置密钥
        JwtParser qqqq = Jwts.parser().setSigningKey("qqqq");
        // 将jwt的第二部分解析出来
        Jws<Claims> claimsJws = qqqq.parseClaimsJws(jwt);
        Claims body = claimsJws.getBody();
        System.out.println(body.get("name"));
        System.out.println(body.get("id"));
        System.out.println(body);
    }
//    public static void main(String[] args) {
//        // 生成一个JWT的字符串
//        String jwt = "";
//        // 日历
//        Calendar calendar=Calendar.getInstance();
//        Date time = calendar.getTime();// 当前时间
//        calendar.add(Calendar.HOUR,24);// 日历往后加24小时
//        Date time1 = calendar.getTime();// 24小时之后的时间
//        /**
//         * 第一个参数是 加密的算法  第二个参数是密钥
//         *
//         * signWith(SignatureAlgorithm.HS256,"hxzy")
//         * setIssuedAt()  设置签发时间
//         * setExpiration() 过期时间
//         */
//        JwtBuilder qqqq = Jwts.builder().setExpiration(time1).setIssuedAt(time).signWith(SignatureAlgorithm.HS256, "qqqq");
//        Map map = new HashMap();
//        map.put("id","1");
//        map.put("name","张三");
//        qqqq.addClaims(map);// jwt第二个部分中有一个私有信息
//        // 通过JwtBuilder对象的compact这个方法来生成JWT字符串
//        jwt = qqqq.compact();
//        System.out.println(jwt);
//    }
}
